<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Type"
 content="text/html; charset=iso-8859-1">
  <meta name="GENERATOR" content="Mozilla 1.1 under Linux">
  <title>TiEmu User's Manual</title>
  <meta name="author" content="The TiEmu team">
  <meta name="description" content="User's Manual">
</head>
<body bgcolor="#ffffff">
<div align="center">
<div style="text-align: left;">
<div class="NAVFOOTER">
<hr align="left" width="100%">
<table summary="Footer navigation table" border="0" cellpadding="0"
 cellspacing="0" width="100%">
  <tbody>
    <tr>
      <td align="left" valign="top" width="33%"><a href="Manual_en.html"
 accesskey="P">Prev</a></td>
      <td align="center" valign="top" width="34%"><a
 href="Manual_en.html" accesskey="H">Home</a></td>
      <td align="right" valign="top" width="33%"><a
 href="chapter02.html" accesskey="N">Next</a></td>
    </tr>
    <tr>
      <td align="left" valign="top" width="33%">Table of content</td>
      <td align="center" valign="top" width="34%">&nbsp;</td>
      <td align="right" valign="top" width="33%">Images</td>
    </tr>
  </tbody>
</table>
</div>
</div>
</div>
<h1>1. Introduction</h1>
<h2>1.1 What's TiEmu</h2>
TiEmu is a program allowing a computer to emulate a hand-held:&nbsp;
TI89, TI89 Titanium, TI92, TI92+, V200PLT. <br>
At the time being, it works on Linux and Windows platforms.<br>
<br>
It uses GTK+ (<a href="http://www.gimp.org">The GiMP</a> <a
 href="http://www.gtk.org">ToolKit</a>) for the GUI and for the
display. <br>
<br>
All link cables supported by the TiLP 2 framework are available: <br>
- home-made parallel, <br>
- home-made serial, <br>
- Black TI Graph Link, <br>
- Gray TI Graph Link,<br>
- SilverLink.<br>
<br>
TiEmu was based on <a
 href="http://www.student.nada.kth.se/%7Emd94-jmi/tiger/">XTiger</a>,
the original TI emulator for Linux which uses the m68k emulation core
from <a href="http://freiburg.linux.de/%7Euae/">UAE</a> (The Ultimate
Amiga Emulator).<br>
It also uses the <a href="http://www.tilp.info">TiLP</a> framework
(ti* libraries). See the AUTHORS file for more details.<br>
<br>
TiEmu is provided with a default and free OS : <a
 href="http://www.ticalc.org/archives/files/fileinfo/319/31951.html">PedroM</a>.<br>
<br>
As of TiEmu 3, it is provided as 2 versions: TiEmu with gdb (+gdb for
short) and TiEmu without gdb (-gdb for short). Both of them are the
same except for the debugger.<br>
<h2>1.2 Features and limitations<br>
</h2>
<span style="text-decoration: underline;">Features:</span><br>
<ul>
  <li>support TI89, TI89 Titanium, TI92, TI92+ and V200PLT hand-helds<br>
  </li>
  <li>nice assembly-level debugger (disassembly, memory, breakpoints,
traps, vectors,
stack contents, trace, ...)</li>
  <li>assembly-level debugger supports: run, step in, step over, step
out, run to
cursor</li>
  <li>nice source-level debugger (source, GDB console, stack backtrace,
watches, ...)
based on <a href="http://sources.redhat.com/insight/">Insight</a></li>
  <li>ability to load/save the emulator state</li>
  <li>file linkport emulation (direct loading of files)</li>
  <li>works with 1/2/4 MB ROMs, 128 or 256 KB RAM</li>
  <li>emulate HW1, HW2, and HW3</li>
  <li>can run from ROM dumps or FLASH upgrades</li>
  <li>automatic ROM version/model detection</li>
  <li>contrast emulated (try [Alt] + [+] &amp; [-])</li>
  <li>pretty fast emulation code</li>
  <li>sreenshot of LCD and/or calculator in several images format
(JPG/PNG/ICO)</li>
  <li>TI keyboard useable directly from PC kesyboard or with the mouse
on the skin</li>
  <li>archive memory support as well as ghost spaces</li>
  <li>full emulation of HW1/2/3 protection (stealth I/O)</li>
  <li>full emulation of HW2 &amp; HW3 clock<br>
  </li>
  <li>no buggy MC68000 SR &amp; nbcd (TiEmu can't be detected as VTI:
you have
true emulation)</li>
  <li>4-level and 7/8-level grayscale support (thx Kevin !) for both
HW1 and HW2/3<br>
  </li>
  <li>the letter keys are aliased to produce their respective
letters.&nbsp; No need to press the Alpha key, just type (TI89).</li>
  <li>full-featured
graphical debugger <br>
  </li>
  <li>keyboard mapping and menu shortcuts are fully VTI-compatible</li>
  <li>keyboard mapping can be customized<br>
  </li>
</ul>
<span style="text-decoration: underline;">Limitations:</span><br
 style="text-decoration: underline;">
<ul>
  <li>linkport emulation has not been tested with USB cable yet</li>
  <li>no DirectLink support<br>
  </li>
  <li>no debugger while sending/receiving a file to/from the virtual
calculator</li>
</ul>
<h2>1.3 System requirements</h2>
<font size="3">In order to run TiEmu, your computer must meet one
of the following sets of requirements, depending on your operating
system:<br>
</font>
<p> </p>
<p><font size="3"><u>Linux:</u></font> </p>
<ul>
  <li><font size="3">any personal computer (a 386-compatible PC
(Pentium or higher
strongly recommended) or a Macintosh (PPC G4 or higher strongly
recommended)) or
workstation (Sparc, Alpha, etc.) with any Linux distribution installed</font></li>
  <li><font size="3">64 MB of RAM (most part is used by GTK and
GDB/Insight)</font></li>
  <li><font size="3">an X Window System (X.Org X11 is the most common)</font>
  </li>
  <li><font size="3">GTK+ 2.6 libraries</font></li>
</ul>
<p><font size="3"><u>Windows:</u></font> </p>
<ul>
  <li><font size="3">a Pentium PC @450MHz or better with Microsoft
Windows
95/98/Me or NT4/2000/XP</font></li>
  <li><font size="3">64 MB of RAM (most part is used by GTK and
GDB/Insight)</font></li>
  <li><font size="3">GTK+ 2.6 libraries like 2.6.8</font> (it is
recommended
to use an NT-based version of Windows: NT4, 2000 or XP)</li>
</ul>
<p><font size="3"><u>Mac OS-X:</u></font> </p>
<ul>
  <li>to test... <br>
  </li>
</ul>
<p><font size="3"><u>FreeBSD:</u></font> </p>
<ul>
  <li><font size="3">same requirements as Linux.<br>
    <br>
    </font></li>
</ul>
All systems must have an available port that will support your cable
(see section 3 below).<br>
<h2>1.4 Installation</h2>
<font size="3"><u>Linux:</u></font>
<p> </p>
<ul>
  <li><font size="3">install the TiLP 2 <a
 href="http://www.ticalc.org/archives/files/fileinfo/337/33748.html">framework</a></font>
  </li>
  <li><font size="3">install TiEmu either by compiling sources, either
by installing a package from your favorite distro</font> </li>
</ul>
<p><font size="3"><u>Windows:</u></font> </p>
<ul>
  <li><font size="3">execute the InnoSetup or NSIS installer.</font></li>
</ul>
<h2>1.5 Configuration / Setting-up (Linux)<br>
</h2>
<font size="3">A burning issue with TiLP and Linux is good set-up of
device access. Linux is secure because it heavily relies on permissions.<br>
You should always run TiLP as root for the first run. By this way, you
will be almost sure to run TiLP with success.<br>
<br>
If you want to run TiLP as a simple user, you must take care of
permissions. This is explained below.<br>
<br>
For BlackLink or home-made serial cable, the node is '/dev/ttySx". You
must have r/w permissions on this device. This can be done by:<br>
- giving up r/w permissions to other (chmod ugo+rw /dev/ttyS0) or,
better,<br>
- adding your user to the group 'dialout' (edit /etc/group and your
username after the ':').<br>
<br>
Example 1:<br>
<span style="font-family: courier new;">&nbsp;&nbsp;&nbsp;
crw-rw-rw-&nbsp; 1 root dialout 4, 64 2006-02-08 13:40 /dev/ttyS0<br>
</span></font><font size="3">Example 2:<br>
<span style="font-family: courier new;">&nbsp;&nbsp;&nbsp;
dialout:x:20:romain</span></font><br>
<font size="3"><span style="font-family: courier new;"></span><br>
For parallel link cable, the node is '/dev/parportX' and the same rules
apply.<br>
<br>
For SilverLink cable, things are more complicated...<br>
<br>
</font>
<table style="width: 100%; text-align: left;" border="1" cellpadding="2"
 cellspacing="2">
  <tbody>
    <tr>
      <td style="vertical-align: top;"><font size="3">libusb uses a
pseudo-filesystem known as 'usbdevfs` or 'usbfs` to access the USB
devices connected to your machine. This filesystem must be mounted<br>
under /proc/bus/usb for libusb to work.<br>
      <br>
It could be done using the following command:<br>
      <span style="font-family: courier new;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
mount -t usbfs none /proc/bus/usb</span><br>
      <br>
An alternative and more permanent method would be to add<br>
      <span style="font-family: courier new;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
none /proc/bus/usb usbfs defaults 0 0</span><br>
to your /etc/fstab file. It will mount the usbfs for you automatically
at boot time ; only root will be able to access the USB devices with
this setup.<br>
      <br>
Several mount options are available, that allow you to set the
permissions on the files created under /proc/bus/usb so that non-root
users can use libusb applications:<br>
&nbsp;- devuid=xxx, devgid=xxx, devmode=xxx respectively set the uid,
the
gid and the mode of the devices files, ie /proc/bus/usb/BBB/DDD<br>
&nbsp;- busuid=xxx, busgid=xxx, devmode=xxx respectively set the uid,
the gid and the mode of the bus files, ie /proc/bus/usb/BBB<br>
&nbsp;- listuid=xxx, listgid=xxx, listmode=xxx respectively set the
uid, the gid and the mode of /proc/bus/usb/devices<br>
      <br>
&nbsp;-- Aurelien Jarno &lt;aurel32@debian.org&gt;, Sun, 21 Mar 2004
01:01:44 +0100</font></td>
    </tr>
  </tbody>
</table>
<hr>
</body>
</html>
